package com.gutsyzhan.dynamicdatasourcespringbootstarter.init;

import com.gutsyzhan.dynamicdatasourcespringbootstarter.properties.DataSourceProperty;

/**
 * 切入数据源创建生命周期
 */
public interface DataSourceInit {
    /**
     * 创建之前做一些事情，如使用私钥对用户密码进行解密
     */
    void beforeCreate(DataSourceProperty dataSourceProperty);

    /**
     * 创建之后做一些事情
     */
    void afterCreate(DataSourceProperty dataSourceProperty);

    /**
     * 存在多个数据源时的顺序
     */
    default int getOrder(){
        return 0;
    }
}
